package la.iok.hzsvn.lewin.movie.cloud.model;

import java.util.Objects;

public class WxLoginParam {
    /**
     * 用户登录凭证。
     */
    private String code;
    /**
     * 客户端类型。1：玩家小程序；2：客服小程序；3：DM小程序
     */
    private Integer client;
    /**
     * 登录设备
     */
    private UserDeviceParam device;
    /**
     * 会话id.微信小程序登录的时候,如果用户未绑定，需要先获取用户身份（openId,unionId),之后返回前端再次获取用户手机号进行绑定/注册。
     * 此时需要保存sessionID的用户身份，并将sessionID传到前端，前端在请求手机号授权之后将授权码与sessionID一起传到后台，
     * 此时根据sessionID查询用户身份之后再进行绑定/注册操作
     */
    private String sessionID;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getClient() {
        return client;
    }

    public void setClient(Integer client) {
        this.client = client;
    }

    public UserDeviceParam getDevice() {
        return device;
    }

    public void setDevice(UserDeviceParam device) {
        this.device = device;
    }

    public String getSessionID() {
        return sessionID;
    }

    public void setSessionID(String sessionID) {
        this.sessionID = sessionID;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof WxLoginParam)) return false;
        WxLoginParam param = (WxLoginParam) o;
        return Objects.equals(code, param.code) && Objects.equals(client, param.client) && Objects.equals(device, param.device) && Objects.equals(sessionID, param.sessionID);
    }

    @Override
    public int hashCode() {
        return Objects.hash(code, client, device, sessionID);
    }
}
